home *** CD-ROM | disk | FTP | other *** search
/ Creative Review 28 / Creative-Review-CD-ROM-28.iso / pc / kungfu / assets / game.dir / 00062_Script_time class < prev    next >
Text File  |  1997-08-08  |  3KB  |  110 lines

  1. -- time class
  2. -- -----------------------------------------------------------------------------
  3.  
  4. property taskq
  5.  
  6. -- =============================================================================
  7. -- new method
  8. -- -----------------------------------------------------------------------------
  9. on new me
  10.   
  11.   mInit me
  12.   return me
  13.   
  14. end new
  15.  
  16. -- =============================================================================
  17. -- minit method
  18. -- -----------------------------------------------------------------------------
  19. on minit me
  20.   
  21.   -- put "minit time"
  22.   
  23.   set taskq = [:]
  24.   
  25.   sort taskq
  26.   
  27. end minit 
  28.  
  29. -- =============================================================================
  30. -- mdispose method
  31. -- -----------------------------------------------------------------------------
  32. on mdispose me
  33.   
  34.   put "mdispose time"
  35.   set taskq = 0
  36.   
  37. end mdispose 
  38.  
  39. -- =============================================================================
  40. -- mDoTask method
  41. -- -----------------------------------------------------------------------------
  42. on mDoTask me
  43.   
  44.   if count (taskq) then
  45.     if the timer >=  getPropAt (taskq, 1) then
  46.       set tasktime = getPropAt (taskq, 1)
  47.       set object = getat (taskq,1)
  48.       deleteAt taskq, 1
  49.       set next = mDoTask(object)
  50.       if next then mAddTask (me, object, tasktime + next)
  51.       mDoTask me
  52.     end if
  53.   end if
  54.   
  55. end mDotask
  56.  
  57. -- =============================================================================
  58. -- mAddTask method
  59. -- -----------------------------------------------------------------------------
  60. on mAddTask me, who, when
  61.   
  62.   if objectp(who) and integerP(when) then
  63.     addProp taskq, when, who
  64.   else put "incorrect task: " , who, when
  65.   
  66. end mAddTask
  67.  
  68. -- =============================================================================
  69. -- mDeleteTasks method
  70. -- -----------------------------------------------------------------------------
  71. on mDeleteTasks me, who
  72.   
  73.   repeat with taskindex = 1 to count (taskq)
  74.     if getat(taskq, taskindex) = who then deleteat(taskq, taskindex)
  75.   end repeat
  76.   
  77. end mDeleteTasks
  78.  
  79. -- =============================================================================
  80. -- mEmpty method
  81. -- -----------------------------------------------------------------------------
  82. on mEmpty me
  83.   
  84.   set taskq = [:]
  85.   sort taskq
  86.   
  87. end mEmpty
  88.  
  89.  
  90. -- =============================================================================
  91. -- mShow method
  92. -- -----------------------------------------------------------------------------
  93. on mShow me
  94.   
  95.   put "in mShow time"
  96.   
  97.   repeat with index = 1 to count ( taskq )
  98.     set time = getpropat ( taskq, index )
  99.     set task = getat ( taskq, index )
  100.     
  101.     put ( pad  ( 0, 50 , time, task ) )
  102.     
  103.   end repeat
  104.   
  105.   put "out mShow time" 
  106.   
  107. end mShow
  108.  
  109.  
  110.